# 自动曝光，实现方法（以python为例，以下代码为简化版）：

# #图像采集函数
# def camera():
# 。
# 。
# （连接相机）
# 。
# 。
#      with cam:
#            try:

# 		#设置初始曝光时间
# 		initial_exposure_time = 10000  # 初始曝光时间，单位为微秒
#                 cam.ExposureTime.set(initial_exposure_time)
# 		exposure_time=initial_exposure_time


#                 while window.running and not self.stop_event_camera.is_set():   #软件未关闭时循环取图

#                         try:
#                                 frame= cam.get_frame(timeout_ms=200)   #获取图像
				
#                         	max_gray_value = np.max(frame)# 计算当前帧的最大灰度值
				
#                         	if self.ui.check_autoexpose.isChecked():#判断自动曝光选项是否被勾选

#                             		# 只有当最大灰度值大于某一灰度值时才调整曝光，假设大于30
#                             		if max_gray_value > 30:
#                                 		expose_time=self.adjust_exposure_auto(max_gray_value, expose_time)
#                                 		cam.ExposureTime.set(expose_time)# 更新相机的曝光时间



#     #自动曝光函数
#     def adjust_exposure_auto(self,max_gray_value, exposure_time):
#         	if max_gray_value < 230:
#             		if (230 - max_gray_value > 50):
#                 		exposure_time *=1.3
#             		else:
#                 	exposure_time *= 1.1  # 增加曝光时间
#         	elif max_gray_value > 250:
#             		if (max_gray_value - 250 == 5):
#                 		exposure_time *= 0.8  # 减少曝光时间
#             		else:
#                 		exposure_time *= 0.9



# 总结：在图像采集函数中设置判断条件，“自动曝光”选项被勾选，且图片最大灰度值大于某个限度时，调用自动曝光函数










# 过曝部分标红，实现方法（以python为例，以下代码为简化版）：

#     def show_in_ui(self):   #相机图片显示函数
#         while window.running and not self.stop_event_camera.is_set():
	    
#             frame8 = self.frame8  #获取相机图像
#             if self.frame8 is not None:
#                 show_frame = son_image.judge_over_expose(250, frame8)      #调用son_image.judge_over_expose函数
# 	。
# 	。
# 	。
# 	。
# 	#把图片在界面上camera_show控件中显示出来
#          if self.show_frame is not None:
#               self.show_img(show_frame, self.ui.camera_show)





# # 判断图像是否过曝，输入图片，输出
# def judge_over_expose(a,image):
#     image1=image.copy()
#     # 读取图片为灰度模式
#     gray_image=image.copy()

#     # 找到灰度值超过250的像素点
#     high_gray_pixels = gray_image > a

#     colored_image=cv2.cvtColor(gray_image, cv2.COLOR_GRAY2BGR)

#     # 将这些位置的像素设置为红色
#     colored_image[high_gray_pixels] = (0, 0, 255)


#     return colored_image


# 总结：在图像显示函数中调用son_image.judge_over_expose函数，将待显示函数中超过某一限定值的像素点设为红色














